home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / boot / netBoot.new / dev / dkio.h < prev    next >
C/C++ Source or Header  |  1990-12-19  |  2KB  |  55 lines

  1.  
  2. /*    @(#)dkio.h 1.1 86/09/27 SMI    */
  3.  
  4. /*
  5.  * Copyright (c) 1986 by Sun Microsystems, Inc.
  6.  */
  7.  
  8. /*
  9.  * Structures and definitions for disk io control commands
  10.  */
  11.  
  12. /* Disk identification */
  13. struct dk_info {
  14.     int    dki_ctlr;        /* controller address */
  15.     short    dki_unit;        /* unit (slave) address */
  16.     short    dki_ctype;        /* controller type */
  17.     short    dki_flags;        /* flags */
  18. };
  19. /* controller types */
  20. #define    DKC_UNKNOWN    0
  21. #define    DKC_SMD2180    1
  22. #define    DKC_WDC2880    2
  23. #define    DKC_SMD2181    3
  24. #define    DKC_XY440    4
  25. #define    DKC_DSD5215    5
  26. #define    DKC_XY450    6
  27. #define    DKC_SCSI    7
  28.  
  29. /* flags */
  30. #define    DKI_BAD144    0x01    /* use DEC std 144 bad sector fwding */
  31. #define    DKI_MAPTRK    0x02    /* controller does track mapping */
  32. #define    DKI_FMTTRK    0x04    /* formats only full track at a time */
  33. #define    DKI_FMTVOL    0x08    /* formats only full volume at a time */
  34.  
  35. /* Definition of a disk's geometry */
  36. struct dk_geom {
  37.     unsigned short    dkg_ncyl;    /* # of data cylinders */
  38.     unsigned short    dkg_acyl;    /* # of alternate cylinders */
  39.     unsigned short    dkg_bcyl;    /* cyl offset (for fixed head area) */
  40.     unsigned short    dkg_nhead;    /* # of heads */
  41.     unsigned short    dkg_bhead;    /* head offset (for Larks, etc.) */
  42.     unsigned short    dkg_nsect;    /* # of sectors per track */
  43.     unsigned short    dkg_intrlv;    /* interleave factor */
  44.     unsigned short    dkg_gap1;    /* gap 1 size */
  45.     unsigned short    dkg_gap2;    /* gap 2 size */
  46.     unsigned short    dkg_extra[10];    /* for compatible expansion */
  47. };
  48.  
  49. /* disk io control commands */
  50. #define    DKIOCGGEOM    _IOR(d, 2, struct dk_geom)    /* Get geometry */
  51. #define    DKIOCSGEOM    _IOW(d, 3, struct dk_geom)    /* Set geometry */
  52. #define    DKIOCGPART    _IOR(d, 4, struct dk_map)    /* Get partition info */
  53. #define    DKIOCSPART    _IOW(d, 5, struct dk_map)    /* Set partition info */
  54. #define    DKIOCINFO    _IOR(d, 8, struct dk_info)    /* Get info */
  55.